1. Technical Field
The present disclosure relates to storage systems and, more specifically, to snapshots and/or clones of volumes in a storage system.
2. Background Information
A storage system typically includes one or more storage devices, such as solid state drives (SSDs), into which information may be entered, and from which information may be obtained, as desired. The storage system may logically organize the information stored on the devices as storage containers, such as volumes or logical units (LUNs). Each storage container may be implemented as a set of data structures, such as data blocks that store data for the storage containers and metadata blocks that describe the data of the storage containers. For example, the metadata may describe, e.g., identify, storage locations on the devices for the data.
Management of the storage containers may include creation of snapshots (read-only) and/or clones (read-write) of the storage containers taken at points in time and accessed by one or more clients or hosts of the storage system. As the snapshots/clones diverge from the storage containers, the storage locations of the data on the devices, as well as any sharing of the data, may change. As a result, the metadata describing the data of the storage containers (including the snapshots/clones) may require frequent changes or even a cascade (e.g., a ripple) of numerous changes for a small change to the data described by that metadata. Accordingly, it may be generally cumbersome to update metadata for every change to data (or change to its location), especially as storage containers and their snapshots/clones diverge. Therefore, it is desirable to reduce the write amplification, i.e., increase efficiency, of metadata updates (and hence storage operations) resulting from changes to data and divergence between storage containers and snapshots/clones of those containers. In addition, it is desirable to update metadata in a fashion that is “friendly” to, i.e., exploits the performance of, storage devices configured to store the metadata.